package prac;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class MinSumOfPairs {
/**
 *  给定两个整数数组array1、array2，数组元素按 升序排列 。
 *     假设从array1、array2中分别取出一个元素可构成一对元素，现在需要取出k对元素，
 *     并对取出的所有元素求和，计算和的 最小值 。
 *     注意：
 *     两对元素如果对应于array1、array2中的两个下标均相同，则视为同一对元素。
 */


    public static int minSumOfPairs(int[] array1, int[] array2, int k) {
        int sum = 0;
      List<Integer> integerSet=new ArrayList<>();
        for (int i = 0; i < k && i<array1.length; i++) {
            for (int j = 0; j < k && j<array2.length; j++) {
                integerSet.add(array1[i]+array2[j]);
            }
        }
    Collections.sort(integerSet);
        for(int i=0;i<k;i++){
            sum+=integerSet.get(i);
        }
        System.out.println(sum);
    return sum;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

         // 读取并处理第一个输入
         int n = scanner.nextInt();
        int[] array1=new int[n];
         for (int i = 0; i < n; i++) {
             array1[i]=scanner.nextInt();
           }

         // 读取并处理第二个输入
         int m = scanner.nextInt();
        int[] array2=new int[n];
         for (int i = 0; i < m; i++) {
             array2[i]=scanner.nextInt();
             }
         // 读取k值
         int k = scanner.nextInt();
        minSumOfPairs(array1,array2,k);
    }
}